package cn.z2huo.productcenter.enums.flag;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * <p>发布状态，表示是否发布
 * <p>发布会将可用的数据从配置表中同步到发布表中，以供外系统使用
 *
 * @author z2huo
 */
@Getter
@RequiredArgsConstructor
public enum PublishFlagEnum {

    /**
     * 已发布
     */
    PUBLISH("1", "已发布"),

    /**
     * 未发布
     */
    NOT_PUBLISH("0", "未发布");

    private final String value;

    private final String desc;

    private static final Map<String, PublishFlagEnum> valueMap
            = Arrays.stream(PublishFlagEnum.values()).collect(Collectors.toMap(PublishFlagEnum::getValue, flag -> flag));

    public static PublishFlagEnum fromValue(String value) {
        return valueMap.get(value);
    }
}
